The present invention relates generally to digital computers and, more particularly, relates to a system for facilitating interaction between a user and a computer.
Advances in technology have allowed the introduction of computers small enough to be utilized by field personnel in applications such as filling out forms, inventory control, etc. Examples include hand-held computers and laptop computers. A particularly useful method of interacting with a hand-held computer, or other type of computer, is to provide graphic icons on a screen and point to the icons using either a mouse or a touch panel that responds to the users finger or other type of pointing device.
By using a pointer type of interactive device a keyboard is not necessary and the portability of the device is increased. However, a vast amount of application programs requiring keystroke data have been developed and, ideally, the hand-held computer would allow the user to utilize this existing software.
Two methods of utilizing application programs that require keystroke data on hand-held computers have been developed. The most direct solution is to attach a keyboard to the computer via a port or include the keyboard as an integral part of the computer as in a laptop.
This solution has several drawbacks. For example, in the field environment it is not practical to carry a keyboard and this solution is practically limited to situations where the computer is not used in the field. Further, many users often prefer to use an interactive pointing device to enter all forms of data, including keystroke data, because they find it easer to point to a location on the screen than to use a key.
A second solution that obviates these drawbacks is to remove the application program graphics from the screen and to call a special program to display a keyboard on the screen. An interactive pointing device is then utilized to select the desired keys. However, for an application requiring many keystrokes the switching of programs and screens would be an impediment to efficient utilization of the application program.